Software Mistakes and Tradeoffs: How to make good programming decisions

Software Mistakes and Tradeoffs: How to make good programming decisions

  • Downloads:8029
  • Type:Epub+TxT+PDF+Mobi
  • Create Date:2022-04-15 09:51:44
  • Update Date:2025-09-07
  • Status:finish
  • Author:Tomasz Lelek
  • ISBN:1617299200
  • Environment:PC/Android/iPhone/iPad/Kindle

Summary

Optimize the decisions that define your code by exploring the common mistakes and intentional tradeoffs made by expert developers

In Software Mistakes and Tradeoffs you will learn how to:

Reason about your systems to make intuitive and better design decisions
Understand consequences and how to balance tradeoffs
Pick a proper library for your problem
Thoroughly analyze all of your service’s dependencies
Understand delivery semantics and how they influence distributed architecture
Design and execute performance tests to detect code hot paths and validate a system’s SLA
Optimize code hot paths to get the most improvement efficiently
Understand tight/loose coupling and how it influences coordination of work between teams
Clarify requirements until they are precise, easily implemented, and easily tested
Optimize your APIs for friendly user experience

In Software Mistakes and Tradeoffs you’ll learn from costly mistakes that Tomasz Lelek and Jon Skeet have encountered over their impressive careers。 You’ll explore real-world scenarios where poor understanding of tradeoffs lead to major problems down the road, to help you make better design decisions。 Plus, with a little practice, you’ll be able to avoid the pitfalls that trip up even the most experienced developers。
about the technology
Code performance versus simplicity。 Delivery speed versus duplication。 Flexibility versus maintainability—every decision you make in software engineering involves balancing tradeoffs。 Often, decisions that look good at the design stage can prove problematic in practice。 This book reveals the questions you need to be asking to make the right decisions for your own software tradeoffs。
about the book
Software Mistakes and Tradeoffs teaches you how to make better decisions about designing, planning, and implementing applications。 You’ll analyze real-world scenarios where the wrong tradeoff decisions were made, and discover what could have been done differently。 The book lays out the pros and cons of different approaches and explores evergreen patterns that will always be relevant to software design。

You’ll understand the consequences of certain decisions, like how code duplication impacts the coupling and evolution speed of your systems and how simple-sounding requirements can have hidden nuances with respect to date and time information。 Discover how to efficiently narrow your optimization scope according to 80/20 Pareto principles and ensure consistency in your distributed systems。 You’ll soon be able to apply the author’s hard-won experience to your own projects to pre-empt mistakes and take a more thoughtful approach to decision making。

Download

Reviews

Krzysztof

I was reading an early access (version V2)。It’s still work in progress, but what’s it lacking the most is editing, cleanups and maybe some charts。 I don’t want my review to be misleading when the final version lands so I’m going to ignore those in this review。I like to read cover to cover but this is one of those books when it’s not the best strategy。 Especially when I think that the chapters in the second half were much more interesting to me。I especially liked the last chapter 13    “Keeping u I was reading an early access (version V2)。It’s still work in progress, but what’s it lacking the most is editing, cleanups and maybe some charts。 I don’t want my review to be misleading when the final version lands so I’m going to ignore those in this review。I like to read cover to cover but this is one of those books when it’s not the best strategy。 Especially when I think that the chapters in the second half were much more interesting to me。I especially liked the last chapter 13    “Keeping up to date with trends vs cost of maintenance of your code”But, most of them were pretty interesting。 I can recommend chapter 7。 It’s not an easy one but the best take on date/time data I’ve seen。 And if you think you don’t need them in your app you will still get some first principles knowledge for working with time in the future。Reading cover to cover is fine of course as I did it。Why not 5 stars?Book is focused a lot more on Java or C# ecosystems for me to be comfortable recommending it to everyone。 Also if you don’t work with Kafka or similar then one of the chapters won’t be of any use to you as well。But, it’s still a great read even if you don’t work in Java-just at the level of 4 stars (assuming editing before the final release) 。。。more